Rely-Guarantee Reasoning for Causally Consistent Shared Memory
نویسندگان
چکیده
Abstract Rely-guarantee (RG) is a highly influential compositional proof technique for concurrent programs, which was originally developed assuming sequentially consistent shared memory. In this paper, we first generalize RG to make it parametric with respect the underlying memory model by introducing an framework that applicable any axiomatically characterized Hoare triples. Second, instantiate reasoning about programs under causally , formulated using recently proposed potential-based operational semantics, thereby providing such semantics. The program logic, call $${\textsf{Piccolo}}$$ Piccolo employs novel assertion language allowing one specify ordered sequences of states each thread may reach. We employ multiple litmus tests, as well adaptation Peterson’s algorithm mutual exclusion
منابع مشابه
Shared Boxes: Rely-Guarantee Reasoning in VeriFast
VeriFast is a verifier for single-threaded and multithreaded C and Java programs. It takes a C or Java program annotated with preconditions and postconditions in a separation logic notation, and verifies statically that these preconditions and postconditions hold, using symbolic execution. In plain separation logic, a thread either has full ownership of a memory location and knows the value at ...
متن کاملOn Rely-Guarantee Reasoning
Many semantic models of rely-guarantee have been proposed in the literature. This paper proposes a new classification of the approaches into two groups based on their treatment of guarantee conditions. To allow a meaningful comparison, it constructs an abstract model for each group in a unified setting. The first model uses a weaker judgement and supports more general rules for atomic commands ...
متن کاملA Causally Consistent Protocol for Distributed Shared Memory
Distributed shared memory provides a virtual address space that is shared among processors in a distributed system. It allows application programmers to elude message passing and use the familiar shared-memory paradigm. To increase eeciency, DSM implementations replicate memory pages, introducing the problem of consistency. As fewer restrictions are imposed to the replicas, more eecient impleme...
متن کاملExplicit Stabilisation for Modular Rely-Guarantee Reasoning
We propose a new formalisation of stability for Rely-Guarantee, in which an assertion’s stability is encoded into its syntactic form. This allows two advances in modular reasoning. Firstly, it enables RelyGuarantee, for the first time, to verify concurrent libraries independently of their clients’ environments. Secondly, in a sequential setting, it allows a module’s internal interference to be ...
متن کاملRely/Guarantee Reasoning for Asynchronous Programs
Asynchronous programming has become ubiquitous in smartphone and web application development, as well as in the development of server-side and system applications. Many of the uses of asynchrony can be modeled by extending programming languages with asynchronous procedure calls—procedures not executed immediately, but stored and selected for execution at a later point by a non-deterministic sch...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2023
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-031-37706-8_11